SlideShare una empresa de Scribd logo
1 de 23
Genexus, acelerador a fondo Gabriel Klestorny – Pablo García t-gakles@microsoft.com – pcgarcia@microsoft.com
¿Objetivo? Dar recetas sencillas para  Dar recetas sencillas para optimizar el desempeño de las aplicaciones Genexus en la plataforma .net
Base de datos 1/3 Snapshot Isolation
Base de datos 2/3 CREATE PARTITION FUNCTION myRangePF1 (int) AS RANGE LEFT FOR VALUES (1, 100, 1000) GO  CREATE PARTITION SCHEME myRangePS1 AS PARTITION myRangePF1 TO (test1fg, test2fg, test3fg, test4fg)  GO CREATE TABLE PartitionTable (col1 int, col2 char(10)) ON myRangePS1 (col1)  CREATE PARTITION FUNCTION myRangePF3 (char(20)) AS RANGE RIGHT FOR VALUES ('EX', 'RXE', 'XR');
Base de datos 3/3 4911-403C-9 6431-4D57-8 2007060 2 3 1 2 10 1 0.00 2 3 1 4 4 2 3 1 1 1 1 2 3 4 2 1 3 4 3 4 2 1 3 4 3 4 3 1 2 3 3 2 1 3 1 3 4
El tan esperado host paranuestralógica de negocios… AppFabric CACHING MONITORING WORKFLOW HOSTING SERVICE BUS ACCESS CONTROL SERVICE HOSTING SCALE OUT HIGH AVAILABILITY  MULTI-TENANT  MANAGEMENT
¿Quées el caché del Appfabric? Un caché de aplicaciónexplícito, distribuido, en memoria, paracualquiertipo de datos (CLR objects, rows, XML, Binary data etc.) Clientes del caché en diversasmáquinas o procesos Vista lógica del caché. Un solo gran caché Vista unificada del cache Cachédistribuído entre N nodos
¿Dóndecalza el caché? Users … Web Tier (ASP.Net)  Application  Application  Application Caching Access Layer Caching Access Layer Caching Access Layer Caching Service Caching Service Caching Service Cache Tier Data Tier Database Cloud
Test de Escalabilidad Server 3 Added Throughput Increases Latency Decreases Server 2 Added Throughput Increases Latency Decreases Until Server Saturation Load Single Server Throughput Increases with Increasing Load Until Server Saturation Throughput Latency
Application Application Cache1 Cache2 Cache3 Primary for  Caché con altadisponibilidad PUT Get(K2) AppFabric Caching Client AppFabric Caching Client Routing Table Routing Table Primary for Primary for Replication Agent K3, V3 K1, V1 K2, V2 (K2, V2) K2, V2 Secondary for Secondary for  Secondary for K2, V2 K3, V3 K1, V1
Integración con la sesión de ASP.net Balanceador de carga sin afinidad de sesión <sessionState  mode="Custom“ customProvider="SessionStoreProvider"> <providers>     <add name="SessionStoreProvider"           type=“Microsoft.Data.Caching.DataCacheSessionStoreProvider,   ClientLibrary“  cacheName="<YourNamedCache>"/> </providers> </sessionState> Almacena en AppFabric Caching SessionStoreProvider … Caching Access Layer Caching Access Layer Sesiónalmacenada en AppFabric Caching Estado de Sesióncompartido entre múltiplesaplicaciones El almacenamientoescaladinámicamente Cache  Service Caching  Service Caching  Service Alta Disponibilidad  Application  Application  Application Caching Access Layer
EscenarioInicial “Wow!  Québuenaaplicación!” Database Request App Tier Browser Response
EscenarioInicial “Yupiii!!! Tenemosmuchos usuarios!” Browser Browser Database App Tier Browser Browser Browser
EscenarioInicial “Mamaaaaaa…” Browser Browser Database App Tier Browser “Server Busy” Browser “Timeout” Browser
¿Cómopodemosayudar a Carlitos?
Opción 1:   Escalarverticalmente: “Scale Up” Browser App Tier Browser Database App Tier Browser Browser Browser “No me gusta…”
Opción 2:   Escalarhorizontalmente: “Scale Out” Browser N L B App Tier Browser Database App Tier App Tier Browser App Tier Browser Browser “Mmm! Interesante…”
¿Cómohacemos con el estado?
Opción 1:   MantenerAfinidad de Cliente Browser N L B App Tier Browser Database App Tier Browser App Tier Browser Browser I love you! I love you  too! “Quécursi! No me gusta…”
Opción 2:   Persistir el estado Sessions Browser N L B App Tier Browser Database App Tier Browser App Tier Browser Browser “Cool! Me gusta, pero…”
Opción 3:   Utilizar un CachéDistribuido Browser Database N L B App Tier Browser App Tier Browser App Tier Browser Browser AppFabric AppFabric AppFabric Sessions Sessions Sessions
Resultados
¡Muchas Gracias!

Más contenido relacionado

Similar a 0157 genexus full_throttling

Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Asier Marqués
 
Examen ISC
Examen ISCExamen ISC
Examen ISCivan mtz
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005oswchavez
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magentoOnestic
 
Manejo de información raster_en_post_gis-2.0-
Manejo de información raster_en_post_gis-2.0-Manejo de información raster_en_post_gis-2.0-
Manejo de información raster_en_post_gis-2.0-Kudos S.A.S
 
ETL: Logging y auditoría en SSIS
ETL: Logging y auditoría en SSISETL: Logging y auditoría en SSIS
ETL: Logging y auditoría en SSISSolidQ
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLLorena Fernández
 
(Evidencia #2 supervisión a los parámetros de gestión y desempeño del sistema...
(Evidencia #2 supervisión a los parámetros de gestión y desempeño del sistema...(Evidencia #2 supervisión a los parámetros de gestión y desempeño del sistema...
(Evidencia #2 supervisión a los parámetros de gestión y desempeño del sistema...lfiquitiva
 
Guia de Laboratorios 5 - VB.NET 2005
Guia de Laboratorios 5 - VB.NET 2005Guia de Laboratorios 5 - VB.NET 2005
Guia de Laboratorios 5 - VB.NET 2005Jose Ponce
 
Charla OWASP
Charla OWASPCharla OWASP
Charla OWASPalexav8
 
Guia laboratorios no2-programacion_avanzada
Guia laboratorios no2-programacion_avanzadaGuia laboratorios no2-programacion_avanzada
Guia laboratorios no2-programacion_avanzadaharoldhicc
 
2015 10 - Curso Cliente @firma INAP día 2
2015 10 - Curso Cliente @firma INAP día 22015 10 - Curso Cliente @firma INAP día 2
2015 10 - Curso Cliente @firma INAP día 2Tomás García-Merás
 
R ecuperacion
R ecuperacionR ecuperacion
R ecuperacionvictdiazm
 
Base de datos_-_material_didactico
Base de datos_-_material_didacticoBase de datos_-_material_didactico
Base de datos_-_material_didacticoenriquehot
 

Similar a 0157 genexus full_throttling (20)

[Run Reloaded] Estrategias de Caching Distribuído con Microsoft Velocity Proj...
[Run Reloaded] Estrategias de Caching Distribuído con Microsoft Velocity Proj...[Run Reloaded] Estrategias de Caching Distribuído con Microsoft Velocity Proj...
[Run Reloaded] Estrategias de Caching Distribuído con Microsoft Velocity Proj...
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
 
Examen ISC
Examen ISCExamen ISC
Examen ISC
 
Codeigniter101
Codeigniter101Codeigniter101
Codeigniter101
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Manejo de información raster_en_post_gis-2.0-
Manejo de información raster_en_post_gis-2.0-Manejo de información raster_en_post_gis-2.0-
Manejo de información raster_en_post_gis-2.0-
 
ETL: Logging y auditoría en SSIS
ETL: Logging y auditoría en SSISETL: Logging y auditoría en SSIS
ETL: Logging y auditoría en SSIS
 
Analisis de rendimiento_en_oracle
Analisis de rendimiento_en_oracleAnalisis de rendimiento_en_oracle
Analisis de rendimiento_en_oracle
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQL
 
(Evidencia #2 supervisión a los parámetros de gestión y desempeño del sistema...
(Evidencia #2 supervisión a los parámetros de gestión y desempeño del sistema...(Evidencia #2 supervisión a los parámetros de gestión y desempeño del sistema...
(Evidencia #2 supervisión a los parámetros de gestión y desempeño del sistema...
 
Guia de Laboratorios 5 - VB.NET 2005
Guia de Laboratorios 5 - VB.NET 2005Guia de Laboratorios 5 - VB.NET 2005
Guia de Laboratorios 5 - VB.NET 2005
 
Struts2
Struts2Struts2
Struts2
 
Charla OWASP
Charla OWASPCharla OWASP
Charla OWASP
 
Guia laboratorios no2-programacion_avanzada
Guia laboratorios no2-programacion_avanzadaGuia laboratorios no2-programacion_avanzada
Guia laboratorios no2-programacion_avanzada
 
2015 10 - Curso Cliente @firma INAP día 2
2015 10 - Curso Cliente @firma INAP día 22015 10 - Curso Cliente @firma INAP día 2
2015 10 - Curso Cliente @firma INAP día 2
 
R ecuperacion
R ecuperacionR ecuperacion
R ecuperacion
 
Ajax
AjaxAjax
Ajax
 
Base de datos_-_material_didactico
Base de datos_-_material_didacticoBase de datos_-_material_didactico
Base de datos_-_material_didactico
 
Viernes Tecnicos DTrace
Viernes Tecnicos DTraceViernes Tecnicos DTrace
Viernes Tecnicos DTrace
 

Más de GeneXus

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsGeneXus
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!GeneXus
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in ActionGeneXus
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...GeneXus
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?GeneXus
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroGeneXus
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y PlataformasGeneXus
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosGeneXus
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaGeneXus
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 StudentsGeneXus
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsiveGeneXus
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusGeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosGeneXus
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAPGeneXus
 
Going mobile
Going mobileGoing mobile
Going mobileGeneXus
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusGeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusGeneXus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...GeneXus
 

Más de GeneXus (20)

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) Bots
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in Action
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuro
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y Plataformas
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivos
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industria
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 Students
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsive
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAP
 
Going mobile
Going mobileGoing mobile
Going mobile
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
 

0157 genexus full_throttling

  • 1. Genexus, acelerador a fondo Gabriel Klestorny – Pablo García t-gakles@microsoft.com – pcgarcia@microsoft.com
  • 2. ¿Objetivo? Dar recetas sencillas para Dar recetas sencillas para optimizar el desempeño de las aplicaciones Genexus en la plataforma .net
  • 3. Base de datos 1/3 Snapshot Isolation
  • 4. Base de datos 2/3 CREATE PARTITION FUNCTION myRangePF1 (int) AS RANGE LEFT FOR VALUES (1, 100, 1000) GO CREATE PARTITION SCHEME myRangePS1 AS PARTITION myRangePF1 TO (test1fg, test2fg, test3fg, test4fg) GO CREATE TABLE PartitionTable (col1 int, col2 char(10)) ON myRangePS1 (col1) CREATE PARTITION FUNCTION myRangePF3 (char(20)) AS RANGE RIGHT FOR VALUES ('EX', 'RXE', 'XR');
  • 5. Base de datos 3/3 4911-403C-9 6431-4D57-8 2007060 2 3 1 2 10 1 0.00 2 3 1 4 4 2 3 1 1 1 1 2 3 4 2 1 3 4 3 4 2 1 3 4 3 4 3 1 2 3 3 2 1 3 1 3 4
  • 6. El tan esperado host paranuestralógica de negocios… AppFabric CACHING MONITORING WORKFLOW HOSTING SERVICE BUS ACCESS CONTROL SERVICE HOSTING SCALE OUT HIGH AVAILABILITY MULTI-TENANT MANAGEMENT
  • 7. ¿Quées el caché del Appfabric? Un caché de aplicaciónexplícito, distribuido, en memoria, paracualquiertipo de datos (CLR objects, rows, XML, Binary data etc.) Clientes del caché en diversasmáquinas o procesos Vista lógica del caché. Un solo gran caché Vista unificada del cache Cachédistribuído entre N nodos
  • 8. ¿Dóndecalza el caché? Users … Web Tier (ASP.Net) Application Application Application Caching Access Layer Caching Access Layer Caching Access Layer Caching Service Caching Service Caching Service Cache Tier Data Tier Database Cloud
  • 9. Test de Escalabilidad Server 3 Added Throughput Increases Latency Decreases Server 2 Added Throughput Increases Latency Decreases Until Server Saturation Load Single Server Throughput Increases with Increasing Load Until Server Saturation Throughput Latency
  • 10. Application Application Cache1 Cache2 Cache3 Primary for Caché con altadisponibilidad PUT Get(K2) AppFabric Caching Client AppFabric Caching Client Routing Table Routing Table Primary for Primary for Replication Agent K3, V3 K1, V1 K2, V2 (K2, V2) K2, V2 Secondary for Secondary for Secondary for K2, V2 K3, V3 K1, V1
  • 11. Integración con la sesión de ASP.net Balanceador de carga sin afinidad de sesión <sessionState mode="Custom“ customProvider="SessionStoreProvider"> <providers> <add name="SessionStoreProvider" type=“Microsoft.Data.Caching.DataCacheSessionStoreProvider, ClientLibrary“ cacheName="<YourNamedCache>"/> </providers> </sessionState> Almacena en AppFabric Caching SessionStoreProvider … Caching Access Layer Caching Access Layer Sesiónalmacenada en AppFabric Caching Estado de Sesióncompartido entre múltiplesaplicaciones El almacenamientoescaladinámicamente Cache Service Caching Service Caching Service Alta Disponibilidad Application Application Application Caching Access Layer
  • 12. EscenarioInicial “Wow! Québuenaaplicación!” Database Request App Tier Browser Response
  • 13. EscenarioInicial “Yupiii!!! Tenemosmuchos usuarios!” Browser Browser Database App Tier Browser Browser Browser
  • 14. EscenarioInicial “Mamaaaaaa…” Browser Browser Database App Tier Browser “Server Busy” Browser “Timeout” Browser
  • 16. Opción 1: Escalarverticalmente: “Scale Up” Browser App Tier Browser Database App Tier Browser Browser Browser “No me gusta…”
  • 17. Opción 2: Escalarhorizontalmente: “Scale Out” Browser N L B App Tier Browser Database App Tier App Tier Browser App Tier Browser Browser “Mmm! Interesante…”
  • 19. Opción 1: MantenerAfinidad de Cliente Browser N L B App Tier Browser Database App Tier Browser App Tier Browser Browser I love you! I love you too! “Quécursi! No me gusta…”
  • 20. Opción 2: Persistir el estado Sessions Browser N L B App Tier Browser Database App Tier Browser App Tier Browser Browser “Cool! Me gusta, pero…”
  • 21. Opción 3: Utilizar un CachéDistribuido Browser Database N L B App Tier Browser App Tier Browser App Tier Browser Browser AppFabric AppFabric AppFabric Sessions Sessions Sessions